﻿namespace Runtime.Services.Battle.Behaviour {

    /// <summary>
    /// 保持行为
    /// </summary>
    public interface IDFR_BattleBehaviour_Hold : IDFR_BattleBehaviour {

        /// <summary>
        /// 实体
        /// </summary>
        new public interface IEntity : IDFR_BattleBehaviour.IEntity {
        }
    }

    [Implement(typeof(IDFR_BattleBehaviour_Hold))]
    internal sealed class DFR_BattleBehaviour_Hold : DFR_BattleBehaviour, IDFR_BattleBehaviour_Hold {

        protected override void Initialize() {
        }

        protected override IDFR_BattleBehaviourInfo LogicFrame() {
            return new DFR_BattleBehaviourInfo {
                Type = DFR_BattleBehaviourType.Hold,
            };
        }

        protected override void Execute(IDFR_BattleBehaviourInfo info) {
        }

        protected override void Update(IDFR_BattleBehaviourInfo info, float interpolation) {
            StateMachine.State = DFR_BattleEntityState.Idle;
        }
    }
}
